package Day18_网络编程.demo2_TCP通信程序;

/**
 * @author zhangyan
 * @date 2020/5/10 10:33
 */
/*
    TCP协议是面向连接的通信协议，即在传输数据前先在客户端和服务器端建立逻辑连接，然后再传输数据。
    它提供了两台计算机之间可靠无差错的数据传输。

    TCP ==> Transfer Control Protocol ==> 传输控制协议

    TCP协议的特点
      * 面向连接的协议
      * 只能由客户端主动发送数据给服务器端，服务器端接收到数据之后，可以给客户端响应数据。
      * 通过三次握手建立连接，连接成功形成数据传输通道。
      * 通过四次挥手断开连接
      * 基于IO流进行数据传输
      * 传输数据大小没有限制
      * 因为面向连接的协议，速度慢，但是是可靠的协议

    TCP协议的使用场景
      * 文件上传和下载
      * 邮件发送和接收
      * 远程登录

    TCP协议相关的类:
                Socket:
                     构造方法: Socket(String host, int port)

                     一个该类的对象就代表一个客户端程序。
                     根据IP地址和端口号创建客户端Socket对象
                     注意:只要执行方法,就会链接服务器程序,如果链接不成功,会抛出异常,如果连接成功,表示三次握手通过
                     OutputStream getOutputStream(); 获得字节输出流对象
                     InputStream getInputStream();获得字节输入流对象
                     void close(); 关闭Socket,会自动关闭相关的流

                ServerSocket:
                     一个该类的对象就代表一个服务器端程序。
                      ServerSocket(int port); 根据指定的端口号开启服务器
                      Socket accept(); 等待客户端连接并获得与客户端关联的Socket对象,如果没有连接成功该方法会一直阻塞
                      void close(); 关闭SeverSocket  一般不停止

    TCP传输数据: 使用Socket对象获取输出流写出数据,使用SeverSocket对象获得输入流读取数据



       


      
 */
public class TCP概述 {
    public static void main(String[] args) {

    }
}
